In modern life, there are a number of situations involving search and navigation for relevant data. All of these share two characteristics: a repository of structured (e.g. relational databases), semi-structured (e.g. a website), or unstructured (a text document like the Declaration of Independence or this patent application) data; and a device through which the user conducts the search or navigation (e.g. a personal computer or multifunctional handheld unit like a PDA or cellular phone). The data may be stored on the device itself (e.g. on a computer's hard disk or in a cellular phone's memory) or may reside remotely on one or more servers to which the device is connected in one of several possible ways during the search or navigation.
Familiar examples of such systems are traditional search engines for finding information on the World Wide Web, or in specialized databases (e.g. EDGAR, the U.S. Patent Office's PATFT and AppFT databases containing patent documents, or MEDLINE, the database of medical information), or the many search systems available for information residing on personal computers; navigation systems also abound (e.g. so-called IVRs or Interactive Voice Response Systems which are ubiquitous today and involve tracing a path down a menu tree one step at a time or more advanced “dialogue systems” that involve more sophisticated speech recognition).
All these systems share a limitation in common—that the search or navigation is based entirely on keywords. If a user is searching for a “vintage car” then a document containing “antique automobile” will be missed. This is true not just of traditional search systems but is also true of navigation systems like IVRs and speech recognition systems which require the choosing of specific options (e.g. “press 3 for domestic reservations” in an airline reservation system) or the utterance of specific keywords (e.g. “domestic reservations”) to advance the user's position in the navigation.
U.S. Published Patent Application No. 20040098381 entitled “Navigation in a Hierarchical Structured Transaction Processing System” to Parikh et al. disclosed a way of navigating through a set of interconnected nodes, having a distinguished “start node” or “root node” where the nodes are connected hierarchically or as a directed graph and each node is, contains or is associated with a “document” or a “verbal description,” through generation and use of associations among words from the documents or verbal descriptions. However, that method has some limitations in that it may not be possible to generate all useful associations in advance and the disclosed techniques for learning meanings for words did not handle certain cases.